package com.daniel.gof.sample;

/**
 * 简单工厂（静态工厂）
 * 增加一个新的产品，需要修改代码
 *
 * @author Daniel
 * @version V1.0
 * @date 2020/5/14 09:47
 */
public class CarFactory {

	/**
	 * 获取车辆（方式一）
	 *
	 * @param name
	 * @return
	 */
	public static ICar getCar(String name) {
		if ("tesla".equals(name)) {
			return new TeslaCar();
		} else if ("audi".equals(name)) {
			return new AudiCar();
		} else if ("ford".equals(name)) {
			return new FordCar();
		} else {
			return null;
		}
	}

	//方式二
	public static ICar getFord() {
		return new FordCar();
	}

	public static ICar getTesla() {
		return new TeslaCar();
	}
}
